﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using StolenBykes;

namespace RomanOOP
{
    class Program
    {
        static void Main(string[] args)
        {
            MyEvent evt = new MyEvent();
            Bike bike1 = newBike4();
           
            Warehouse warh = new Warehouse();
            warh.AddBike(bike1);
            PrintBike1(bike1);

            WarehouseList bikeList = new WarehouseList();
            bikeList.AddBike(bike1);

         
           // List<Bike> listOfBike = new List<Bike>();
     

           /* evt.NewBikeInWarehouse += warh.MassageWheel;
            Thread.Sleep(10000);
            evt.OnMyEvent();
            */

            //  int i = bike1.BikeId;
            // warh.RemoveBike(bike1.BikeId);
            // warh.RemoveBike(bike2.BikeId);
            //  Console.WriteLine(i);
            Console.ReadLine();

        }

      /*  // Bike bike = newBike();
        // Bike bike1 = newBike1();
        // Bike bike2 = newBike2();
        // Bike bike3 = newBike3();
         Bike bike4 = newBike4();
         int countOfBikes = Bike._numberOfBike;
         Console.WriteLine(countOfBikes);


 
            Console.ReadLine();
        }




        static Bike newBike()
        {
            Bike newBike = new Bike();
            return newBike;
        }
        static Bike newBike1()
        {
            Console.WriteLine("Тип велосипеда:");
            string type = Console.ReadLine();
            Bike newBike = new Bike(type);
            return newBike;

        }
        static Bike newBike2()
        {
            Console.WriteLine("Тип велосипеда:");
            string type = Console.ReadLine();
            Console.WriteLine("Город в котором был украден?:");
            string thereIsStolen = Console.ReadLine();
            
            Bike newBike = new Bike(type, thereIsStolen);
            return newBike;

        }
        static Bike newBike3()
        {
            Console.WriteLine("Тип велосипеда:");
            string type = Console.ReadLine();
            Console.WriteLine("Город в котором был украден?:");
            string thereIsStolen = Console.ReadLine();
            Console.WriteLine("Модель:");
            string model = Console.ReadLine();
            Bike newBike = new Bike(type, thereIsStolen, model);
            return newBike;

        }
        static Bike newBike4()
        {
            Console.WriteLine("Тип велосипеда:");
            string type = Console.ReadLine();
           
            Console.WriteLine("Город в котором был украден?:");
            string thereIsStolen = Console.ReadLine();
            
            Console.WriteLine("Модель:" );
            string model =  Console.ReadLine();
           
            Console.WriteLine("Размер рамы:");
            int sizeOfFrame = ReadIntFromConsole();
            
            Bike newBike = new Bike(type, thereIsStolen, model, sizeOfFrame);
            return newBike;


        }*/
       static void PrintBike1(Bike descriptionOfBike)
        {
                      
            Console.WriteLine("Тип велосипеда - {0}", descriptionOfBike.kindOfBike);
            Console.WriteLine("Украден в городе - {0}", descriptionOfBike.thereIsStolen);
            Console.WriteLine("Фирма-производитель - {0} ", descriptionOfBike.nameOfFirm);
            Console.WriteLine("Размер рамы - {0} ", descriptionOfBike.sizeOfFrame);
                 
        }

        static Bike newBike4()
        {
            Console.WriteLine("Тип велосипеда:");
            string type = Console.ReadLine();

            Console.WriteLine("Город в котором был украден?:");
            string thereIsStolen = Console.ReadLine();

            Console.WriteLine("Модель:");
            string model = Console.ReadLine();

            Console.WriteLine("Размер рамы:");
            int sizeOfFrame = ReadIntFromConsole();

            Bike newBike = new Bike(type, thereIsStolen, model, sizeOfFrame);
            return newBike;


        }
            
       
        static int ReadIntFromConsole()
        {
            {
                int a = 0;
                bool inputsuccess = false;
                while (!inputsuccess)
                {
                    try
                    {

                        Console.WriteLine("");
                        string number = Console.ReadLine();
                        a = Int32.Parse(number);
                        inputsuccess = true;
                    }
                    catch
                    {
                     Console.WriteLine("Вы ввели некоректное значение");


                    }


                }
                return a;
            }
        }
       
    }
    

}
